﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Coolite.Ext.Web;
using Coolite.Utilities;
using SistemaLib.Entidades;
using SistemaLib.Gestores;

namespace SistemaWeb.Editores
{
    public partial class EdTarea : System.Web.UI.UserControl
    {
        public event EventHandler SeModificoEntidad;


        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CargarCombos();
            }
        }

        public void CargarCombos()
        {
            PrioridadesStore.DataSource = GestorTareasPrioridades.ListarTareaPrioridades();
            PrioridadesStore.DataBind();

            PerfilesStore.DataSource = GestorPerfil.ListarPerfiles();
            PerfilesStore.DataBind();

            SenioritiesStore.DataSource = GestorSeniority.ListarSeniorities();
            SenioritiesStore.DataBind();
            
            ComplejidadStore.DataSource = GestorTareasComplejidades.ListarTareaPrioridades();
            ComplejidadStore.DataBind();

            EstadoStore.DataSource = GestorTareasEstados.ListarTareaEstados();
            EstadoStore.DataBind();

            TipoStore.DataSource = GestorTareasTipos.ListarTareaTipos();
            TipoStore.DataBind();
        }

        public int IdTarea { get; set; }

        public void CargarTarea(int idTarea)
        {           
            Tarea tar = GestorTareas.CargarTareaPorId(idTarea);

            idTB.Text = tar.Id.ToString();
            nombreTB.Text = tar.Nombre;
            fechaCreacionTB.SelectedDate = tar.fechaCreacion;
            descripcionTA.Text = tar.Descripcion;
            if (tar.IdPrioridad != 0)
                prioridadDL.SetValue(tar.IdPrioridad);
            else
                prioridadDL.SetValue(1);
            if (tar.IdPerfilRequerido != 0)
                perfilDL.SetValue(tar.IdPerfilRequerido);
            else
                perfilDL.SetValue(1);
            if (tar.IdSeniorityRequerido != 0)
                seniorityDL.SetValue(tar.IdSeniorityRequerido);
            else
                seniorityDL.SetValue(1);
            if (tar.IdComplejidad != 0)           
                complejidadDL.SetValue(tar.IdComplejidad);
            else
                complejidadDL.SetValue(1);
            if (tar.IdEstado != 0) 
                estadoDL.SetValue(tar.IdEstado);
            else
                estadoDL.SetValue(1);
            if (tar.IdTipo != 0) 
                tipoDL.SetValue(tar.IdTipo);
            else
                tipoDL.SetValue(1);

            popupEditor.Show();
        }

        protected void Guardar(object sender, AjaxEventArgs e)
        {
            int id = int.Parse(idTB.Text);
            Tarea tar = GestorTareas.CargarTareaPorId(id);

            //Primer Solapa
            tar.Descripcion = descripcionTA.Text;
            if (fechaCreacionTB.SelectedValue == null)
            {
                Ext.Msg.Show(new MessageBox.Config
                {
                    Title = "Fecha Invalida",
                    Message = "La fecha ingresada no es correcta, ingrese una fecha valida",
                    Buttons = MessageBox.Button.OK,
                    Icon = MessageBox.Icon.WARNING
                });
                return;
            }
            tar.fechaCreacion = fechaCreacionTB.SelectedDate;
            tar.Nombre = nombreTB.Text;

            //Segunda Solapa
            if(prioridadDL.SelectedItem.Value != "") 
                tar.IdPrioridad = int.Parse(prioridadDL.SelectedItem.Value);
            if (complejidadDL.SelectedItem.Value != "")
                tar.IdComplejidad = int.Parse(complejidadDL.SelectedItem.Value);
            if (seniorityDL.SelectedItem.Value != "")
                tar.IdSeniorityRequerido = int.Parse(seniorityDL.SelectedItem.Value);
            if (perfilDL.SelectedItem.Value != "")
                tar.IdPerfilRequerido = int.Parse(perfilDL.SelectedItem.Value);
            if (estadoDL.SelectedItem.Value != "")
                tar.IdEstado = int.Parse(estadoDL.SelectedItem.Value);
            if (tipoDL.SelectedItem.Value != "")
                tar.IdTipo = int.Parse(tipoDL.SelectedItem.Value);

            GestorTareas.Guardar(tar);
            popupEditor.Hide();

            if(SeModificoEntidad != null)
                this.SeModificoEntidad(this, null);
        }

        

        
    }
}